<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 数组去重
    //有一个数组 var arr = [ 1, 2, 3, 3, 2, 1, 3, 1, 2, 1, 3, 2]  去除数组中的重复项=> [1,2,3]

    // var arr = [1, 2, 3, 3, 2, 1, 3, 1, 2, 1, 3, 2];

    //index    0  1  2  3  4  5  6  7
    // var arr = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];

    // // 由于删除元素之后  数组坍塌(后面的元素占据被删除的元素的位置)  => 可能存在漏网之鱼

    // for (var i = 0; i < arr.length - 1; i++) {
    //     // i   arr[i] 当前元素
    //     // i+1 -> length-1  后面的每一个元素 对应的下标
    //     for (var j = i + 1; j < arr.length; j++) {
    //         if (arr[i] === arr[j]) {
    //             arr.splice(j, 1);
    //         }
    //     }

    // }
    // console.log(arr);

    // 解决方法 1. 从后向前删 
    //index    0  1  2  3  4  5  6  7
    // var arr = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];

    // for (var i = 0; i < arr.length - 1; i++) {
    //     // i   arr[i] 当前元素
    //     // i+1 -> length-1  后面的每一个元素 对应的下标
    //     for (var j = arr.length - 1; j >= i + 1; j--) {
    //         if (arr[i] === arr[j]) {
    //             arr.splice(j, 1);
    //         }
    //     }

    // }
    // console.log(arr);

    // 解决方法 2.删完之后 下次在验证一下当前位置
    // index   0  1  2  3  4  5  6  7
    // var arr = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];

    // for (var i = 0; i < arr.length - 1; i++) {
    //     // i   arr[i] 当前元素
    //     // i+1 -> length-1  后面的每一个元素 对应的下标
    //     for (var j = i + 1; j < arr.length; j++) {
    //         if (arr[i] === arr[j]) {
    //             arr.splice(j, 1);
    //             j--;   // 删完之后 下次在验证一下当前位置
    //         }
    //     }

    // }
    // console.log(arr);

    // 方法3:   放到新数组中  => 放之前 判断新数组中是否存在该元素

    // var arr = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
    // var brr = [];

    // for (var i = 0; i < arr.length; i++) {
    //     var item = arr[i];
    //     if (brr.indexOf(item) == -1) {
    //         brr.push(item)
    //     }
    // }
    // console.log(brr);

    // 方法4 先排序 在删除
    var arr = [1, 2, 3, 3, 2, 1, 3, 1, 2, 1, 3, 2];
    arr.sort(function(a,b){
        return a - b;
    })
    console.log(arr);
    // 比较相邻的两个元素  当前值 后一个值
    for(var i=0;i<arr.length-1;i++){
        if(arr[i] === arr[i+1]){
            arr.splice(i+1,1);
            i--;
        }
    }
    console.log(arr);
    



</script>

</html>